package cn.feng.thinkInJava.a1_5_初始化和清理.initialization.a5_02_02;

//: initialization/Demotion.java
// Demotion of primitives and overloading.
import static net.mindview.util.Print.*;

public class Demotion
{
	void f1(char x)
	{
		print("f1(char)");
	}
	
	void f1(byte x)
	{
		print("f1(byte)");
	}
	
	void f1(short x)
	{
		print("f1(short)");
	}
	
	void f1(int x)
	{
		print("f1(int)");
	}
	
	void f1(long x)
	{
		print("f1(long)");
	}
	
	void f1(float x)
	{
		print("f1(float)");
	}
	
	void f1(double x)
	{
		print("f1(double)");
	}
	
	void f2(char x)
	{
		print("f2(char)");
	}
	
	void f2(byte x)
	{
		print("f2(byte)");
	}
	
	void f2(short x)
	{
		print("f2(short)");
	}
	
	void f2(int x)
	{
		print("f2(int)");
	}
	
	void f2(long x)
	{
		print("f2(long)");
	}
	
	void f2(float x)
	{
		print("f2(float)");
	}
	
	void f3(char x)
	{
		print("f3(char)");
	}
	
	void f3(byte x)
	{
		print("f3(byte)");
	}
	
	void f3(short x)
	{
		print("f3(short)");
	}
	
	void f3(int x)
	{
		print("f3(int)");
	}
	
	void f3(long x)
	{
		print("f3(long)");
	}
	
	void f4(char x)
	{
		print("f4(char)");
	}
	
	void f4(byte x)
	{
		print("f4(byte)");
	}
	
	void f4(short x)
	{
		print("f4(short)");
	}
	
	void f4(int x)
	{
		print("f4(int)");
	}
	
	void f5(char x)
	{
		print("f5(char)");
	}
	
	void f5(byte x)
	{
		print("f5(byte)");
	}
	
	void f5(short x)
	{
		print("f5(short)");
	}
	
	void f6(char x)
	{
		print("f6(char)");
	}
	
	void f6(byte x)
	{
		print("f6(byte)");
	}
	
	void f7(char x)
	{
		print("f7(char)");
	}
	
	void testDouble()
	{
		double x=0;
		print("double argument:");
		f1(x);
		f2((float)x);
		f3((long)x);
		f4((int)x);
		f5((short)x);
		f6((byte)x);
		f7((char)x);
	}
	
	public static void main(String[] args)
	{
		Demotion p=new Demotion();
		p.testDouble();
	}
} /* Output:
double argument:
f1(double)
f2(float)
f3(long)
f4(int)
f5(short)
f6(byte)
f7(char)
*///:~
